A Practical Partial Evaluation Scheme for Multi-Paradigm Declarative Languages
نویسندگان
چکیده
We present a practical partial evaluation scheme for multi-paradigm declarative languages combining features from functional, logic, and concurrent programming. In contrast to previous approaches, we consider an intermediate representation for programs into which source programs can be automatically translated. The use of this simplified representation, together with the appropriate control issues, make our partial evaluation scheme practically applicable to modern multi-paradigm declarative languages like Curry. An implementation of a partial evaluator for Curry programs has been undertaken. The partial evaluator allows the specialization of programs containing higher-order functions, calls to external functions, concurrent constraints, etc. Our partial evaluation tool is integrated in the PAKCS programming environment for the language Curry as a source-to-source transformation on intermediate programs. The partial evaluator is written in Curry itself. To the best of our knowledge, this is the first purely declarative partial evaluator for a multi-paradigm functional logic language.
منابع مشابه
A Practical Method for Program Specialization in aMulti - Paradigm Language ?
This paper summarizes our ndings in the development of partial evaluation tools for Curry, a modern multi-paradigm declarative language which combines features from functional programming, logic programming, and concurrent programming. We present a novel approach to perform automatic program specialization in Curry, which diiers from those presented in the literature for the specialization of f...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملA residualizing semantics for the partial evaluation of functional logic programs
Recent proposals for multi-paradigm declarative programming combine the most important features of functional, logic and concurrent programming into a single framework. The operational semantics of these languages is usually based on a combination of narrowing and residuation. In this note, we introduce a non-standard, residualizing semantics for multi-paradigm declarative programs and prove it...
متن کاملForward Slicing of Multi-paradigm Declarative Programs Based on Partial Evaluation
Program slicing has been mainly studied in the context of imperative languages, where it has been applied to many software engineering tasks, like program understanding, maintenance, debugging, testing, code reuse, etc. This paper introduces the first forward slicing technique for multi-paradigm declarative programs. In particular, we show how program slicing can be defined in terms of online p...
متن کاملA Practical Partial Evaluator for aMulti - Paradigm Declarative Language ? Elvira Albert
Partial evaluation is an automatic technique for program optimization which preserves program semantics. The range of its potential applications is extremely large, as witnessed by successful experiences in several elds. This paper summarizes our ndings in the development of partial evaluation tools for Curry, a modern multi-paradigm declarative language which combines features from functional,...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Functional and Logic Programming
دوره 2002 شماره
صفحات -
تاریخ انتشار 2002